package com.fowo.api.sys.model;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 系统任务配置数据
 */
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class SysTaskData implements Serializable {
    /**
     * 周期类型
     */
    private String loopType;

    /**
     * CRON 表达式
     */
    private String cron;

    /**
     * 重试间隔时间（秒）
     */
    private Integer retryInterval;

    /**
     * 最大重试次数
     */
    private Integer retryTimes;

    /**
     * 失败通知 message - 站内消息, email - 邮件
     */
    private List<String> failNotify;

    /**
     * SQL执行的数据源（适用于 type 为 sql）
     */
    private Long dataSourceId;

    /**
     * SQL语句 (适用于 type 为 sql)
     */
    private String sql;

    /**
     * 执行内部方法的类名（适用于 type 为 inner）
     */
    private String className;

    /**
     * 执行内部方法名（适用于 type 为 inner）
     */
    private String method;

    /**
     * 执行参数 JSON（适用于 type 为 inner)
     */
    private String paramsJson;
}
